package com.tengfei.main.user.service;

import com.tengfei.common.core.domain.PageQuery;
import com.tengfei.common.core.domain.R;
import com.tengfei.common.core.page.TableDataInfo;
import com.tengfei.main.user.domain.SearchEntity;
import com.tengfei.main.user.domain.bo.course.CourseProgressBo;
import com.tengfei.main.user.domain.vo.course.*;

import java.util.List;

/**
 * @author feige
 * @version v1.0
 * @date 2022-08-09-17:07
 * @description
 */
public interface IUserPlanService {

    List<UserPlanVo> planList();

    List<UserCourseVo> courseList(Long planId);

    R<List<UserChapterVo>> chapterList(Long courseId);

    List<CourseHistoryVo> courseViewHistory(Integer size);

    boolean uploadProgress(CourseProgressBo progressBo);

    UserVideoVo videoByVideoId(Long courseId,Long chapterId, Long videoId);

    List<UserResVo> courseResList(Long courseId, Integer resType);

    TableDataInfo<UserCourseVo> pubCourseList(SearchEntity search, PageQuery pageQuery);

    List<UserResVo> resListByIds(List<Long> resIds);

    R<CourseHistoryVo> courseViewHistoryById(Long courseId);
}
